System software build configuration可以設定build flow需要使用的build environment,所以build system在system software build flow開始之前會負責準備build environment,我們今天會講解build system執行此步驟的方法。
我們在system software build and test的章節介紹過如何建立單一種一致的build environment,不過build system需要隨著build configuration的設定準備不同的build environment,包括了compiler版本、tool版本、環境變數等,所以build system需要方法動態建立、改變build environment。
Build environment set up flow可以讓build flow的設計獨立於build environment,不需要在build flow當中再另外指定tool的路徑。
例如: build configuration指定使用的C compiler是GCC 8.5,由build system完成build environment set up flow之後,build flow內直接使用gcc
指令就可以使用GCC 8.5指令,而不需要再指定GCC 8.5的executable路徑
例如:
Environment Modules是一套簡化shell初始化的工具,藉由module file的敘述,可以為tools/software修改shell的環境。
module load
使用一個module來設定環境,而不再需要使用的時候可以 module umload
解除一個module file設定以避免和其他module發生衝突